#include <vector>
#include <iostream>
#include <functional>

using namespace std;
using namespace std::placeholders;

class PrintUtil
{
public:
    PrintUtil(){};
    ~PrintUtil(){};

    template <typename T> static void printVector(const vector<T>& vec)
    {
        for_each(vec.begin(), vec.end(), [](const T& i) { cout << i << " "; });
        cout << endl;
    }

    template <typename T> static void printVectorMatrix(const vector<vector<T>>& mat)
    {
        for_each(mat.begin(), mat.end(), [](const vector<T>& vec) { printVector<T>(vec); });
    }
};
